bilder sofort sichtbar

bilder sofort sichtbar

am 09.12.2004 17:35:17 von belvedere

hallo,

wie kann ich bilder vor dem upload auf dem server, im webbrowser anzeigen
lassen ohne das es geuploadet wird?

mfg
ingo schubert

Re: bilder sofort sichtbar

am 09.12.2004 17:41:33 von Jens Kirchheimer

news.t-online.de wrote:
> hallo,
>
Hallo, was hat deine Frage mit datenbanken zu tun?

> wie kann ich bilder vor dem upload auf dem server, im webbrowser anzeigen
> lassen ohne das es geuploadet wird?

Vom Server gesteuert garnicht. Vom User gesteuert, mit
Datei->Öffnen->Bild auswählen

> mfg
> ingo schubert

HtH, Jens

Re: bilder sofort sichtbar

am 09.12.2004 18:14:22 von Tobias Kutzler

news.t-online.de schrieb:
^^^^^^^^^^^^^^^^
Schreib da bitte das nächste Mal Deinen Namen hin.

> hallo,
>
> wie kann ich bilder vor dem upload auf dem server, im webbrowser anzeigen
> lassen ohne das es geuploadet wird?
>
> mfg
> ingo schubert
>
>
Das geht nicht. Zumindest nicht mit PHP. Höchstens mit JavaScript,
obwohl ich mir da spontan nicht vorstellen könnte, wie.

Ciao,
Tobias

Re: bilder sofort sichtbar

am 09.12.2004 18:31:13 von Haydar Ciftci

news.t-online.de wrote:
> hallo,
>
> wie kann ich bilder vor dem upload auf dem server, im webbrowser anzeigen
> lassen ohne das es geuploadet wird?
>
> mfg
> ingo schubert
>
>
Ein mögliche Lösung:
Du hast auf der Seite ein transparentes Bild. Wenn das entsprechende
Ereigniss (onChange?) beim Upload-Feld eintritt wird eine Funktion bspw.
loadImage() aufgerufen. Die Funktion holt dann den Inhalt des Feldes
(Pfad) und setzt es anstelle des Pfades des transparenten Bildes ein.

Das ist jetzt nur so eine Idee, keine Ahnung ob das so funktioniert.

Re: bilder sofort sichtbar

am 09.12.2004 23:30:34 von Philipp Wagner

(XPost & Fup to dclpm, mit Datenbanken hat das nichts zu tun)

Haydar Ciftci schrieb:
> news.t-online.de wrote:
>
>> hallo,
>>
>> wie kann ich bilder vor dem upload auf dem server, im webbrowser anzeigen
>> lassen ohne das es geuploadet wird?
>>
>> mfg
>> ingo schubert
>>
>>
> Ein mögliche Lösung:
> Du hast auf der Seite ein transparentes Bild. Wenn das entsprechende
> Ereigniss (onChange?) beim Upload-Feld eintritt wird eine Funktion bspw.
> loadImage() aufgerufen. Die Funktion holt dann den Inhalt des Feldes
> (Pfad) und setzt es anstelle des Pfades des transparenten Bildes ein.
>
> Das ist jetzt nur so eine Idee, keine Ahnung ob das so funktioniert.

Das kann nicht funktionieren. Wenn du ein Bild hochlädst, wird ein
Formular abgeschickt und die Daten per POST an ein anderes Script
übergeben. Das kann die Daten auch nur annehmen, zwischenspeichern und
dann eine neue Seite erstellen, in der das Bild eingebunden ist
(theoretisch könnte man iirc Bilder auch base64-encodiert in HTML direkt
einbinden und sich damit das zwischenspeichern sparen, aber das wird
iirc nicht wirklich gut unterstützt von gängigen Browsern).

@OP: Was du machen willst ist AFAIK unmöglich, jedenfalls mit PHP.

Philipp

Re: bilder sofort sichtbar

am 09.12.2004 23:30:34 von Philipp Wagner

(XPost & Fup to dclpm, mit Datenbanken hat das nichts zu tun)

Haydar Ciftci schrieb:
> news.t-online.de wrote:
>
>> hallo,
>>
>> wie kann ich bilder vor dem upload auf dem server, im webbrowser anzeigen
>> lassen ohne das es geuploadet wird?
>>
>> mfg
>> ingo schubert
>>
>>
> Ein mögliche Lösung:
> Du hast auf der Seite ein transparentes Bild. Wenn das entsprechende
> Ereigniss (onChange?) beim Upload-Feld eintritt wird eine Funktion bspw.
> loadImage() aufgerufen. Die Funktion holt dann den Inhalt des Feldes
> (Pfad) und setzt es anstelle des Pfades des transparenten Bildes ein.
>
> Das ist jetzt nur so eine Idee, keine Ahnung ob das so funktioniert.

Das kann nicht funktionieren. Wenn du ein Bild hochlädst, wird ein
Formular abgeschickt und die Daten per POST an ein anderes Script
übergeben. Das kann die Daten auch nur annehmen, zwischenspeichern und
dann eine neue Seite erstellen, in der das Bild eingebunden ist
(theoretisch könnte man iirc Bilder auch base64-encodiert in HTML direkt
einbinden und sich damit das zwischenspeichern sparen, aber das wird
iirc nicht wirklich gut unterstützt von gängigen Browsern).

@OP: Was du machen willst ist AFAIK unmöglich, jedenfalls mit PHP.

Philipp

Re: bilder sofort sichtbar

am 10.12.2004 00:32:47 von Haydar Ciftci

Philipp Wagner wrote:


> Das kann nicht funktionieren. Wenn du ein Bild hochlädst, wird ein
> Formular abgeschickt und die Daten per POST an ein anderes Script
> übergeben.

Also beim IE 6 geht es, hatte noch keine Zeit bei anderen Browsern zu
testen: http://netlogix.ch/downloads/sontiges/test.html

Sorry für den schlechten Code, aber es ist schon spät ...

Re: bilder sofort sichtbar

am 10.12.2004 03:30:59 von Sven Ebert

"Haydar Ciftci" schrieb:
> Philipp Wagner wrote:
>
>
>> Das kann nicht funktionieren. Wenn du ein Bild hochlädst, wird ein Formular
>> abgeschickt und die Daten per POST an ein anderes Script übergeben.
>
> Also beim IE 6 geht es, hatte noch keine Zeit bei anderen Browsern zu testen:
> http://netlogix.ch/downloads/sontiges/test.html
>
> Sorry für den schlechten Code, aber es ist schon spät ...

Hmm, ich glaube es ging hier vorwiegend darum, es mit PHP und nicht mit
Javascript zu realisieren, aber mit Programmcode, welcher auf Anwenderseite
ausgeführt wird, ist dies natürlich immer möglich.

Allerdings bringst Du mich da auf eine Idee. Was ist denn, wenn man erstmal
nicht das Bild, sondern nur die locale URL dem PHP-Script übergibt. Diese kann
dann wiederum in eine durch das PHP an den Bowser übergebene aktualisierte
HTML-Seite mit eingeflegt werden und schon hat man seine Vorschau.

Also irgendwas in der Richtung, an entsprechender Stelle:
echo "";
Wobei z.B. $localeurl="file:///C:/test.gif" o.ä. sein würde, halt das, was
vorher aus dem Durchsuchen-Button übergeben wurde.

Ciao
Sven

Re: bilder sofort sichtbar

am 10.12.2004 09:55:56 von Tobias Kutzler

Sven Ebert wrote:
> Allerdings bringst Du mich da auf eine Idee. Was ist denn, wenn man
> erstmal nicht das Bild, sondern nur die locale URL dem PHP-Script
> übergibt. Diese kann dann wiederum in eine durch das PHP an den Bowser
> übergebene aktualisierte HTML-Seite mit eingeflegt werden und schon hat
> man seine Vorschau.
>
> Also irgendwas in der Richtung, an entsprechender Stelle:
> echo "";
> Wobei z.B. $localeurl="file:///C:/test.gif" o.ä. sein würde, halt das,
> was vorher aus dem Durchsuchen-Button übergeben wurde.

Hast Du Dir genau überlegt, was dann passiert? Der Browser sendet das
Formular ab. Und hat meiner Meinung nach die
Angewohnheit, dann die genannte Datei an den Server zu schicken. Von
daher bleiben wir nicht von einer Datenübertragung verschont.

Findet Euch damit ab... ;-) Es geht nicht! Nicht mit PHP! Wozu auch?
Wenn ich wissen will, wie das Bild aussieht, dann kann ich doch auf
meiner Festplatte oder im Auswahldialog in der entsprechenden Ansicht
(ich glaub Miniaturansicht oder Kacheln unter XP, Linux gibts
wahrscheinlich etwas ähnliches) mein Bild ansehen.

>
> Ciao
> Sven

Ciao,
Tobias

Re: bilder sofort sichtbar

am 10.12.2004 12:28:02 von Sven Ebert

"Tobias Kutzler" schrieb:
> Sven Ebert wrote:
>> Allerdings bringst Du mich da auf eine Idee. Was ist denn, wenn man erstmal
>> nicht das Bild, sondern nur die locale URL dem PHP-Script übergibt. Diese
>> kann dann wiederum in eine durch das PHP an den Bowser übergebene
>> aktualisierte HTML-Seite mit eingeflegt werden und schon hat man seine
>> Vorschau.
>>
>> Also irgendwas in der Richtung, an entsprechender Stelle:
>> echo "";
>> Wobei z.B. $localeurl="file:///C:/test.gif" o.ä. sein würde, halt das, was
>> vorher aus dem Durchsuchen-Button übergeben wurde.
>
> Hast Du Dir genau überlegt, was dann passiert? Der Browser sendet das
> Formular ab. Und hat meiner Meinung nach die
> Angewohnheit, dann die genannte Datei an den Server zu schicken. Von daher
> bleiben wir nicht von einer Datenübertragung verschont.

Damit scheinst Du falsch zu liegen, schau Dir doch mal die Beispielseite von
Haydar Ciftci an. Man kann mit der 'onchange'-Angabe selbst bestimmen, was
passieren soll - er ruft da z.B. eine Javascript-Funktion auf. Da ich das
vorher mangels einem persönlichen praktischer Test auch nicht wusste, kam ich
halt auf meine oben angesprochene Idee.

Ciao
Sven

Re: bilder sofort sichtbar

am 10.12.2004 13:27:57 von Tobias Kutzler

Sven Ebert wrote:
> "Tobias Kutzler" schrieb:
>
>> Sven Ebert wrote:
>>
>>> Allerdings bringst Du mich da auf eine Idee. Was ist denn, wenn man
>>> erstmal nicht das Bild, sondern nur die locale URL dem PHP-Script
>>> übergibt. Diese kann dann wiederum in eine durch das PHP an den
>>> Bowser übergebene aktualisierte HTML-Seite mit eingeflegt werden und
>>> schon hat man seine Vorschau.
>>>
>>> Also irgendwas in der Richtung, an entsprechender Stelle:
>>> echo "";
>>> Wobei z.B. $localeurl="file:///C:/test.gif" o.ä. sein würde, halt
>>> das, was vorher aus dem Durchsuchen-Button übergeben wurde.
>>
>>
>> Hast Du Dir genau überlegt, was dann passiert? Der Browser sendet das
>> Formular ab. Und hat meiner Meinung nach die
>> Angewohnheit, dann die genannte Datei an den Server zu schicken. Von
>> daher bleiben wir nicht von einer Datenübertragung verschont.
>
>
> Damit scheinst Du falsch zu liegen, schau Dir doch mal die Beispielseite
> von Haydar Ciftci an.

Nö! ;-) Ich habs mir angesehen. Er arbeitet komplett mit JavaScript.
D.h., der EventHandler löst aus, sobald sich der Inhalt von type="file"> ändert.

Du möchtest aber das in action angegebene PHP Skript laden und die Seite
neu generieren lassen. Beim Klick auf den Submit-Button wird aber das
Bild (also die Datei komplett) übertragen.

Eine Möglichkeit wäre, Haydars JavaScript-Vorschlag als zusätzliches
Gimmick anzubieten. D.h., wenn jemand JavaScript eingeschaltet hat, dann
sieht er ein Bild, nachdem er eines von der Festplatte ausgewählt hat.
Nach einem Klick auf den Submit Button wird das Bild auf den Server
übertragen und dort gespeichert. Nur kann man den Nutzern dieses
Formulars nicht versprechen, dass es auch immer und 100%ig funktioniert.
Wie man ja weiss, kann man JavaScript abschalten und dann gehts net mehr.

Wie ich bereits gesagt habe, eine reine PHP-Lösung, die überall
funktioniert gibt es nicht. Da zur Generierung, wie Du sie vorgeschlagen
hast, Informationen (also der Dateiname) an das PHP-Skript übertragen
werden müssen. Nur enthalten diese auch die komplette Bilddatei...

Ciao,
Tobias

Re: bilder sofort sichtbar

am 10.12.2004 16:01:22 von Matthias Julius

Philipp Wagner writes:

> Das kann nicht funktionieren. Wenn du ein Bild hochlädst, wird ein
> Formular abgeschickt und die Daten per POST an ein anderes Script
> übergeben. Das kann die Daten auch nur annehmen, zwischenspeichern und
> dann eine neue Seite erstellen, in der das Bild eingebunden ist
> (theoretisch könnte man iirc Bilder auch base64-encodiert in HTML
> direkt einbinden und sich damit das zwischenspeichern sparen, aber das
> wird iirc nicht wirklich gut unterstützt von gängigen Browsern).
>
> @OP: Was du machen willst ist AFAIK unmöglich, jedenfalls mit PHP.

Koennte man nicht das erste Formular nur den Dateinamen schicken
lassen und diesen dann in ein -Element des zweiten Formulars
einbauen? Das zweite Formular kann dann das Bild hochladen.

Falls JavaScript nicht ausgeschlossen wird, kann man aber sicher einen
Previewbutton in das Formular einbauen, der das Bild
anzeigt. Eventuell auch in einem Popupfenster.

Matthias

Re: bilder sofort sichtbar

am 10.12.2004 17:31:53 von Tobias Kutzler

Matthias Julius wrote:
> Philipp Wagner writes:
>
>
>>Das kann nicht funktionieren. Wenn du ein Bild hochlädst, wird ein
>>Formular abgeschickt und die Daten per POST an ein anderes Script
>>übergeben. Das kann die Daten auch nur annehmen, zwischenspeichern und
>>dann eine neue Seite erstellen, in der das Bild eingebunden ist
>>(theoretisch könnte man iirc Bilder auch base64-encodiert in HTML
>>direkt einbinden und sich damit das zwischenspeichern sparen, aber das
>>wird iirc nicht wirklich gut unterstützt von gängigen Browsern).
>>
>>@OP: Was du machen willst ist AFAIK unmöglich, jedenfalls mit PHP.
>
>
> Koennte man nicht das erste Formular nur den Dateinamen schicken
> lassen und diesen dann in ein -Element des zweiten Formulars
> einbauen? Das zweite Formular kann dann das Bild hochladen.

Sorry, wenn ich hier völlig contra bin...

Aber wie willst Du denn einem Textfeld den Dateinamen mitteilen? Nur das
hat die Möglichkeit eine Datei von der Festplatte
auszuwählen. Und dann wird eben wieder die ganze Datei geschickt. Bei
einem einfachen input-Feld hat man keine Möglichkeit den Namen der Datei
hereinzubekommen. Es sei denn man bastelt sich wieder irgendwas mit
JavaScript. Aber das wollen wir doch hier nicht! ;-)
>
> Falls JavaScript nicht ausgeschlossen wird, kann man aber sicher einen
> Previewbutton in das Formular einbauen, der das Bild
> anzeigt.

Siehe Haydars Vorschlag, den ich als zusätzliche Funktion, die halt
nicht überall funktionieren kann und muss, eigentlich sehr gut finde.
Nur ist JavaScript meiner Meinung nach eine ungünstige Technologie für
Dinge, die bei vielen Leuten funktionieren soll.

Ciao,
Tobias
>
> Matthias

Re: bilder sofort sichtbar

am 10.12.2004 18:12:06 von Sebastian Bessler

Tobias Kutzler schrieb:

> Aber wie willst Du denn einem Textfeld den Dateinamen mitteilen?

Man könnte den User den kompleeten Pfad samt Dateinnamen eintippen
lassen. Das wäre dann aber auch die einzige möglichkeit das zu machen.

Re: bilder sofort sichtbar

am 11.12.2004 00:31:10 von Hartmut Holzgraefe

news.t-online.de wrote:
> hallo,
>
> wie kann ich bilder vor dem upload auf dem server, im webbrowser anzeigen
> lassen ohne das es geuploadet wird?

mit fiesen Javascript/DOM Tricksereien (die evtl. nur auf IE tun),
aber das hat weder mit PHP noch mit Datenbanken auch nur das
geringste zu tun

Re: bilder sofort sichtbar

am 12.12.2004 11:25:55 von Matthias Brandt

Hallo,

"news.t-online.de" schrieb im Newsbeitrag
news:cp9use$1fb$03$1@news.t-online.com...

> wie kann ich bilder vor dem upload auf dem server, im webbrowser anzeigen
> lassen ohne das es geuploadet wird?

Wie gibts du an welches Bild hochgeladen werden soll ?
Prinzipiell einfach den Pfad des ausgewählten Bildes
in den entsprechenen HTML-Tag umwandeln und die Seite aktualisieren lassen.

Aber auch nur wenn ich dich richtig interpretiert habe :)

Grüße
Matthias Brandt